import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt #其中有许多常量
 
 
class DialogDemo(QMainWindow):
    def __init__(self):
        super(DialogDemo,self).__init__()
        self.initUI()
 
    def initUI(self):
        ####################################### 窗口设置
        self.setWindowTitle('DialogDemo')
        self.resize(400,200)
        ########################################   控件
        #将该按钮放在当前窗口上(self)
        self.btn=QPushButton(self)
        self.btn.setText('弹出对话框')
        self.btn.move(50,50)
        ####################################### 信号与槽绑定
        self.btn.clicked.connect(self.showDialog)
 
    ############################################ 槽函数
    def showDialog(self):
        dialog=QDialog()
        #这个btn和上面的btn不是一个
        btn=QPushButton('确定',dialog)
        
        if self.btn is btn:
            print('YES')
        else:
            print('NO')
 
        btn.clicked.connect(dialog.close)
        btn.move(50,50)
        dialog.setWindowTitle('对话框')
        #让对话框以模式状态显示，即显示时QMainWindow里所有的控件都不可用，除非把dialog关闭
        dialog.setWindowModality(Qt.ApplicationModal)
        dialog.exec()
 
 
if __name__=='__main__':
    app=QApplication(sys.argv)
    main=DialogDemo()
    main.show()
    sys.exit(app.exec_())
